//#define _CRT_SECURE_NO_WARNINGS 1
//#include<iostream>
//#include<string>
//#include<vector>
//using namespace std;
//
//void test_string1()
//{
//	string filename("test.cpp");
//	FILE* fout = fopen(filename.c_str(), "r");
//	if (fout == nullptr)
//	{
//		cout << "fopen error" << endl;
//		return;
//	}
//	char ch = fgetc(fout);
//	while (ch != EOF)
//	{
//		cout << ch;
//		ch = fgetc(fout);
//	}
//	fclose(fout);
//
//}
//
//string findsuffix(const string& filename)
//{
//	size_t i = filename.rfind('.');
//	if (i != string::npos)
//	{
//		return filename.substr(i);
//	}
//	else
//	{
//		return "";
//	}
//}
//
//vector<string> split_ur1(const string& ur1)
//{
//	vector<string>v;
//	size_t i1 = ur1.find(':');
//	if (i1 != string::npos)
//	{
//		v.push_back(ur1.substr(0, i1));
//	}
//	size_t i2 = i1 + 3;
//	size_t i3 = ur1.find('/', i2);
//	if (i3 != string::npos)
//	{
//		v.push_back(ur1.substr(i2, i3 - i2));
//		v.push_back(ur1.substr(i3 + 1));
//	}
//	return v;
//}
//
//void test_string2()
//{
//	string filename1("test.cpp");
//	string filename2("test.c");
//	string filename3("test");
//	string filename4("test.cpp.tar.zip");
//	cout << findsuffix(filename1) << endl;
//	cout << findsuffix(filename2) << endl;
//	cout << findsuffix(filename3) << endl;
//	cout << findsuffix(filename4) << endl;
//
//	string url1 = "http://legacy.cplusplus.com/reference/string/string/";
//	string url2 = "https://yuanbao.tencent.com/chat/naQivTmsDa/43735652-b5e3-11ef-bcaa-c6162ee89a56?yb_channel=3003";
//	string url3 = "https://legacy.cplusplus.com/reference/vector/vector/";
//
//	vector<string>ret = split_ur1(url1);
//}
//
//
//void test_string3()
//{
//	/*std::string str("please, replace the vowels in this sentence by asterisks.");
//	std::size_t found = str.find_first_not_of("aeiou");
//	while (found != std::string::npos)
//	{
//		str[found] = '*';
//		found = str.find_first_not_of("aeiou", found + 1);
//	}
//	std::cout << str;*/
//
//	string s1("xxx");
//	string s2("xxx11");
//	const char* str = "23222";
//	s1 == s2;
//	s1 == str;
//	str == s1;
//	s1 + s2;
//	s1 + str;
//	str + s1;
//
//	cin >> s1;
//	cout << s1 << endl;
//}
//int main()
//{
//	//test_string1();
//	//test_string2();
//	test_string3();
//	return 0;
//}


#include"string.h"

namespace ST
{
	void test_string1()
	{
		string s1;
		cout << s1.c_str() << endl;

		string s2("hello world");
		cout << s2.c_str() << endl;

		for (size_t i = 0; i < s2.size(); ++i)
		{
			s2[i]++;
		}
		cout << s2.c_str() << endl;

		for (auto ch : s2)
		{
			cout << ch << " ";
		}
		cout << endl;

		string::iterator it1 = s1.begin();
		while (it1 != s1.end())
		{
			cout << *it1 << " ";
			++it1;
		}
		cout << endl;
	}
}

int main()
{
	ST::test_string1();
	return 0;
}